package models

// Response 统一响应结构
type Response struct {
	Success bool        `json:"success"` // 是否成功
	Message string      `json:"message"` // 消息
	Data    interface{} `json:"data"`    // 数据
}

// AuthRequest 认证请求
type AuthRequest struct {
	Password string `json:"password" binding:"required"` // 密码
}

// AuthResponse 认证响应
type AuthResponse struct {
	Token string `json:"token"` // JWT Token
}

// BatchDownloadRequest 批量下载请求
type BatchDownloadRequest struct {
	FileIDs []string `json:"file_ids" binding:"required"` // 文件ID列表
}

// NetworkInfo 网络信息
type NetworkInfo struct {
	IPs        []string `json:"ips"`         // IP地址列表
	Port       int      `json:"port"`        // 端口
	QRCode     string   `json:"qr_code"`     // 二维码(Base64)
	AccessURLs []string `json:"access_urls"` // 访问地址列表
}

// SuccessResponse 成功响应
func SuccessResponse(data interface{}) Response {
	return Response{
		Success: true,
		Message: "操作成功",
		Data:    data,
	}
}

// ErrorResponse 错误响应
func ErrorResponse(message string) Response {
	return Response{
		Success: false,
		Message: message,
		Data:    nil,
	}
}
